package com.qf.springmvc02.controller;

import com.qf.springmvc02.entity.User;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;

/**
 * @author nk
 * @date 2022/5/6 10:54
 */
@RestController
public class RestfullController {

    //查询所有用户
    @GetMapping("/users")
    public List<User> selectAll(){
//        User.builder().username("张三").password("123").id(1).build();
        return Arrays.asList(User.builder().name("张三").password("123").id(1).build(),
                User.builder().name("赵四").password("123456").id(2).build(),
                User.builder().name("广坤").password("1234").id(3).build(),
                User.builder().name("大脚").password("12345").id(4).build());
    }

    //查询单个用户
    @GetMapping("/users/{id}")
    public User selectOne(@PathVariable("id") Integer id){
        // 使用建造者模式创建对象，可以使用链式编程赋值
        return User.builder().name("张三").password("123").id(1).build();
    }

    //新增用户
    @PostMapping("/users")
    public String add(@RequestBody User user){
        //%s 表示字串
        System.out.printf("新增用户%s",user);
        return "{code:1,success:true}";
    }

    //修改用户
    @PutMapping("/users")
    public String update(@RequestBody User user){
        //%s 表示字串
        System.out.printf("修改用户%s",user);
        return "{code:1,success:true}";
    }

    //根据ID删除用户
    @DeleteMapping("/users/{id}")
    public String delete(@PathVariable("id")Integer id){
        System.out.printf("删除ID是%d的用户\r\n",id);
        return "{code:1,success:true}";
    }
}
